<?php
class cargar extends Controller
{	
    
    var $upload_path;
    
	function cargar(){
		parent::Controller();
		$this->load->library("rapyd");
        $this->load->helper('string');
		$this->load->library('encrypt');
       
        //$this->dir=reduce_double_slashes($this->config->item('uploads_dir').'/traspasos');
        
        $this->load->library("path");
        $base_url=base_url();
		$path=new Path();
		$path->setPath($this->config->item('uploads_dir'));
		$path->append("/traspasos");
		$this->upload_path =$path->getPath().'/';
		//echo $this->upload_path;
	}
	function index(){
        
        redirect('cargar/cargasql/');

	}
    function cargasql(){
        
		$this->rapyd->load('dataform');
		$this->load->library('Sqlinex');

		$form = new DataForm("cargar/cargasql/process");

		$form->upl = new uploadField("Archivo txt", "arch");
		//$form->upl->upload_path = $this->dir;
        $form->upl->upload_path   =$this->upload_path;   
        $form->upl->delete_file   =false;  
		$form->upl->allowed_types = "txt";

		$form->submit("btnsubmit","Cargar");
		$form->build_form();

		$msg='';
		if ($form->on_success()){
			set_time_limit(600);
			$nombre=$form->upl->upload_data['file_name'];
			$dir   ='./uploads/traspasos/'.$nombre;
			$msg='Carga &Eacute;xitosa';
            redirect("cargar/llena/$nombre");
		}

        
        
		$data['filtro']  = ' ';
        $data['content'] = $form->output.$msg;
		$data['title']   = heading('Carga de documento .TXT proveniente del Siigo');
		$data['script']  = '';
		$data["head"]    = $this->rapyd->get_head();
		$this->load->view('view_ventanas', $data);
        
	}
	function llena($nombre){
        
        $file = fopen("uploads/traspasos/$nombre", "r") or exit("No se ha podido abrir el archivo!");
       
        $this->db->query("DELETE FROM comprobantes WHERE year(fecha)='2014' AND tabla='siigo'");
        while(!feof($file))
        {
        
        $archivo=fgets($file)."/";;
        
        $tcomp     = substr($archivo, 0, 1);
        $ccomp     = substr($archivo, 1, 3);
        $ncomp     = substr($archivo, 4, 11);
        $secuencia = substr($archivo, 15, 5);
        $nit       = substr($archivo, 20, 13);
        $cuenta    = substr($archivo, 36, 10);
        $cprod     = substr($archivo, 46, 13);
        $fdocu     = substr($archivo, 59, 8);
        $ccost     = substr($archivo, 67, 4);
        $dc        = substr($archivo, 124, 1);
        $descrip   = substr($archivo, 74, 50);
        
        $originales = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿŔŕ';
        $modificadas = 'aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyybyRr';
        $a = utf8_decode($descrip);
        $b = strtr($a, utf8_decode($originales), $modificadas);
        $cadena = strtoupper($b);
        
        $descrip= addslashes($cadena);
        $descrip= trim($descrip);
        
        
        $monto     = substr($archivo, 125, 15);
        $cant      = substr($archivo, 173, 15);
        $tdoc_cruce  = substr($archivo, 188, 1);
        $ccomp_cruce = substr($archivo, 189, 3);
        $num_cruce   = substr($archivo, 192, 11);
        $sec_cruce   = substr($archivo, 203, 3);
        $fven_cruce  = substr($archivo, 206, 8);
        $formap      = substr($archivo, 214, 4);
        $tdoc_pedido = substr($archivo, 220, 1);
        $ccom_pedido= substr($archivo, 221, 3);
        $num_pedido  = substr($archivo, 224, 11);
        $sec_pedido  = substr($archivo, 235, 3);
        $cambio      = substr($archivo, 240, 15);
        $monto_me    = substr($archivo, 255, 15);
        $cpago       = substr($archivo, 273, 11);
        $cheque      = substr($archivo, 337, 11);
        $date        = substr($archivo, 59, 8);
        $fecha       = strtotime($date); 
        $fecha       = date("Y-m-d", $fecha); 
    
        $this->db->query("INSERT INTO comprobantes(tcomp,ccomp,ncomp,secuencia,nit,cuenta,cprod,fdocu,ccost,descrip,dc,monto,cant,tdoc_cruce,ccomp_cruce,num_cruce,sec_cruce,fven_cruce,formap,tdoc_pedido,ccom_pedido,num_pedido,sec_pedido,cambio,monto_me,cpago,cheque,fecha) 
                                               VALUES('$tcomp','$ccomp','$ncomp','$secuencia','$nit','$cuenta','$cprod','$fdocu','$ccost','$descrip','$dc',INSERT('$monto',14,0,'.'),INSERT('$cant',11,0,'.'),'$tdoc_cruce','$ccomp_cruce','$num_cruce','$sec_cruce','$fven_cruce','$formap','$tdoc_pedido','$ccom_pedido','$num_pedido','$sec_pedido',INSERT('$cambio',9,0,'.'),INSERT('$monto_me',14,0,'.'),INSERT('$cpago',10,0,'.'),'$cheque','$fecha')");
        
        
        }
        $this->db->query("UPDATE comprobantes SET descrip=TRIM(descrip)");
        fclose($file);
        
        echo "<H1>Archivos migrados DEL SIIGO con Exito al fycoADMIN</H1>";
		
	}
}
?>
